home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr02 / hotop104.zip / HOTOP.DOC < prev    next >
Text File  |  1993-07-08  |  21KB  |  485 lines

  1. HOT OPERATOR --
  2.  
  3. Unattended PC Production Job Scheduling
  4.  
  5. Network Ready/Multi-User Capable
  6.  
  7.  
  8.  
  9. NOTES:
  10.  
  11. The application Hot Operator and this document are:
  12.  
  13. Copyright 1992
  14. Joey Robichaux.
  15.  
  16. For ordering information, see the accompanying ORDER.FRM file.
  17.  
  18. Hot Operator is distributed as shareware -- this means I encourage users to
  19. share copies of this product with their associates for their evaluation.
  20. Users may freely use and evaluate Hot Operator.  However, after a 30 day
  21. evaluation period, you must purchase a copy of Hot Operator to continue
  22. use.
  23.  
  24.  
  25. ASSOCIATION OF SHAREWARE PROFESSIONALS
  26.  
  27. This program is produced by a member of the Association of Shareware
  28. Professionals (ASP).  ASP wants to make sure that the shareware principle
  29. works for you. If you are unable to resolve a shareware-related problem
  30. with an ASP member by contacting the member directly, ASP may be able to
  31. help. The ASP Ombudsman can help you resolve a dispute or problem with an
  32. ASP member, but does not provide technical support for members' products.
  33. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or
  34. send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536.
  35.  
  36.  
  37. Trademarks:
  38.  
  39. Dr. Switch is a trademark of Black and White International
  40. SwapDos is a trademark of Innovative Data Concepts.
  41.          
  42.  
  43.  
  44.  
  45.  
  46. WHAT IS HOT OPERATOR?
  47.  
  48.  
  49. What it's not -->  Hot Operator is NOT a menu program
  50.                    Hot Operator is NOT a wakeup routine.
  51.  
  52.  
  53. What it is    -->  Hot Operator runs production job schedules.  It can run
  54.                    jobs directly at the touch of a key, or it can schedule
  55.                    jobs to run a specific times or even certain days of
  56.                    the week.  It can schedule jobs to run at intervals --
  57.                    you may want a data collection routine to run every 30
  58.                    minutes.  It can also check for "successful" job
  59.                    completion.  If the job did not complete successfully, it
  60.                    can automatically be scheduled to run again.
  61.  
  62.                    Hot Operator runs multi-user on your network.  This lets
  63.                    you run Hot Operator on a dedicated PC at a remote user
  64.                    site, yet your technical operations staff can still
  65.                    maintain the job schedule in-house.
  66.  
  67. What it needs -->  Hot Operator uses a dedicated PC; it will not run in the
  68.                    background while the PC is used for other purposes.
  69.                    Furthermore, Hot Operator really needs a memory swapping
  70.                    device to be most effective (see the section on MEMORY
  71.                    SWAPPING).  Hot Operator has built-in memory swapping
  72.                    capability (you can turn this on or off) -- or your
  73.                    individual system configuration may require you to use
  74.                    a third party memory swapper.
  75.  
  76. What it does  -->  Hot Operator maintains a list of production jobs.  A job
  77.                    consists of a statement to be issued from a DOS prompt.
  78.                    This statement will be issued at the appropriately
  79.                    scheduled time.
  80.  
  81. Case Example 1:
  82.  
  83. ABC Industries recently installed a client-server based order taking
  84. system.  The information systems staff and the order-taking crew are in two
  85. separate buildings in two different cities.  However, all are attached to
  86. Novell networks connected via a WAN.
  87.  
  88. Users enter orders all day at their workstations; the databases live on a
  89. SQL SERVER database attached to the network.  At 4:30 pm each day, order
  90. takers leave for the day.  However, someone must run a set of production
  91. jobs that do posting, inventory maintenance, and management reporting.
  92.  
  93. Information Systems cannot run this production -- the databases are in a
  94. different city and communications over the WAN would be too slow.  The
  95. order-takers do not want to stay late to run the production schedule and
  96. local management does not want to hire an operations staff.
  97.  
  98. ABC Industries orders HOT OPERATOR and plans to run it on a dedicated
  99. work-station at the order-taker's site.  The HOT OPERATOR databases are
  100. installed on a subdirectory on the file server.  Since HOT OPERATOR data
  101. lives on the networked file server, Information Systems staff can build and
  102. maintain production schedules and jobs remotely via multi-user access.
  103. They schedule jobs to begin running at 11:00pm.
  104.  
  105. At 11:00pm, HOT OPERATOR kicks off the appropriate sequence of jobs.
  106. Certain jobs only run on Friday evenings, others run every weekday night.
  107. There's even a special cross-network upload that only runs on Sunday nights.
  108.  
  109. At first, the entire production schedule runs fine on the single dedicated
  110. PC.  As the production load grows, things get a little tight.  It's
  111. difficult for one workstation to complete the nightly production jobs.
  112.  
  113. Information Systems decides to try some "trickery" and "share" the
  114. night-time load among some of the idle workstations at the order-taker
  115. site.
  116.  
  117. They split the production schedule into three pieces.  Instead of adding
  118. two more copies of HOT OPERATOR, they write two batch files that check for
  119. the existence of a certain file.  If the file is not found, the batch file
  120. loops and then rechecks for the file.  When the file is detected, the batch
  121. file branches and begins a production schedule.  These two batch files are
  122. installed on two of the faster order-taker PC's.  When the order takers
  123. leave at 4:30, they start the batch files.
  124.  
  125. At 11:00 pm, HOT OPERATOR kicks off its production schedule.  The first
  126. thing it does is create the "certain file" the other two PC's are waiting
  127. for.  It then continues to run its part of the production schedule.  All
  128. three PC's are now in gear!
  129.  
  130. It takes Information Systems several days before they get the work schedule
  131. split up evenly enough to load all machines equally.  Since HOT OPERATOR is
  132. a networked application, this is quite easy to do!
  133.  
  134.  
  135. Case Example 2:
  136.  
  137. Critical Industries uses Hot Operator to schedule all their after-hours
  138. production runs.  These production runs must run at the end of the day
  139. after all daily on-line transactions are complete.
  140.  
  141. Recently, some employees have begun staying late to enter transactions.
  142. Since production should not run until after daily transactions, Critical
  143. cannot reliably use time scheduling to run production -- you can't start
  144. production at 6:00 pm unless you're sure all daily transactions are
  145. complete.
  146.  
  147. Critical decided to use the environment variable checking feature within
  148. Hot Operator.  First, they instructed the group of users who were
  149. staying late to run a special "logout" procedure when they were through
  150. for the day.  This logout procedure built a dummy file called START.NOW
  151. on the file server.
  152.  
  153. Next, they added a FILEEXIST statement to the beginning of their
  154. main production batch file, MAINPROD.BAT.  This statement checks for the
  155. existence of START.NOW.  If START.NOW is not found, the batch file
  156. terminates.  If START.NOW is found, the batch file continues and runs
  157. production.  After productions is finished, START.NOW is deleted and the
  158. environment variable ALLDONE is set to "T".
  159.  
  160. Finally, they edited the MAINPROD.BAT record within Hot Operator and
  161. added ALLDONE as the environment variable.  The left the starting time
  162. for MAINPROD.BAT as 6:00 pm.
  163.  
  164. At 6:00 pm, Hot Operator issues the command MAINPROD.BAT.  This command
  165. begins and checks for the existence of START.NOW.  If START.NOW isn't
  166. found, the command terminates without setting ALLDONE to "T".
  167.  
  168. Control returns to Hot Operator.  Since ALLDONE is not set, Hot Operator
  169. reschedules MAINPROD.BAT to try again in a few minutes.  This sequence
  170. continues.
  171.  
  172. At 7:30 pm, the employee group is finally finished with their online
  173. transactions.  They logout with their special "logout" procedure and the
  174. file START.NOW is created on the file server.
  175.  
  176. At 7:31, Hot Operator tries MAINPROD.BAT again.  This time it finds
  177. START.NOW, so it continues through the entire production job schedule.
  178. At the end of the production run, START.NOW is deleted and ALLDONE is
  179. set to "T".  These DOS commands look like this:
  180.  
  181.         DEL F:\HOME\START.NOW
  182.         SET ALLDONE=T
  183.  
  184. Hot Operator receives control -- this time it senses that ALLDONE is set
  185. to T.  It marks MAINPROD.BAT as complete and does NOT reschedule the
  186. job.
  187.  
  188. Note -- If the environment variable ALLDONE was not available (and it might
  189. not be), then Critical Industries could have used the FILE NAME field in
  190. the Hot Operator record to accomplish the same thing.
  191.  
  192.  
  193. Case Example 3:
  194.  
  195. Unattended Corp also uses Hot Operator for their nightly and weekend
  196. production scheduling.
  197.  
  198. One Monday morning, Unattended realized that the weekend production had
  199. not finished due to bad data.  Since they were using environment
  200. variable checking to ensure completion, Hot Operator had faithfully
  201. rescheduled and retried their production jobs all weekend -- only to
  202. have them fail each time because of the bad data.
  203.  
  204. Unattended wants to continue to run unattended -- they don't want to
  205. schedule weekend operations staff to monitor production -- but they
  206. would like someone notified if jobs are not successful.
  207.  
  208. They write a small counting program in Basic and add this program to
  209. their production batch job.  Everytime the job runs, it adds one to a
  210. counter.  If the counter reaches 10, the job terminates with an
  211. ERRORLEVEL code of 10.
  212.  
  213. Unattended doesn't make any changes to their Hot Operator job record.
  214. Hot Operator continues to check the environment variable and reschedules
  215. their production jobs if necessary.
  216.  
  217. If the job continues to bomb, Hot Operator continues to reschedule the
  218. job.  After the tenth time, the counter program reaches 10 and
  219. terminates with an ERRORLEVEL of 10.  The next statment in the batch
  220. file senses the ERRORLEVEL and branches to a routine that sends an
  221. autodial string to a modem.  The modem then dials the pager number of
  222. the person "on call" that weekend -- this alerts the "on call" person of
  223. problems with the production jobs and gives Unattended Corp plenty of
  224. time to solve the problems before Monday morning.
  225.  
  226.  
  227. INSTALLING HOT OPERATOR:
  228.  
  229. HOT OPERATOR must run on a dedicated PC.  Although HOT OPERATOR will run in
  230. less than 640K conventional RAM, you should have at least 640K RAM
  231. installed, plus you should ideally have 1 to 2 meg of EMS/EEMS if you want
  232. to take advantage of memory swapping routines (discussed later).  In
  233. particular, you should have at least 510,000 free bytes of conventional
  234. memory before you start HOT OPERATOR.
  235.  
  236. Although HOT OPERATOR runs on a dedicated PC, it should be installed to a
  237. networked drive, not to the local drive.  If you install HOT OPERATOR on a
  238. local drive, you lose the ability for multiple users to access the same set
  239. of data.  Thus, while HOT OPERATOR will work fine if installed on a
  240. local drive, you lose the benefits of multi-user access.
  241.  
  242. To install, create a HOT OPERATOR subdirectory on the appropriate drive.
  243. Copy all the HOT OPERATOR files to this subdirectory.
  244.  
  245. Make that subdirectory current if it is not.  Type "HOTOP" and press Enter.
  246.  
  247.  
  248. RUNNING HOT OPERATOR
  249.  
  250. Hot Operator is "pick list" driven.  It presents a scrolling pick list of
  251. currently defined jobs.
  252.  
  253. Use the up and down arrows to move the highlighted select bar up or down
  254. the picklist.  If you move all the way to the bottom of the window, the
  255. jobs will "scroll" to the next job.
  256.  
  257. Use the PgUp and PgDn keys to page forwards or backwards a screen at a
  258. time.  The Home key and the End key bring you to the first record or the
  259. last record in the list.
  260.  
  261. Insert new records by pressing the INSERT key; edit existing records by
  262. highlighting the record and pressing the ENTER key; delete existing records
  263. by highlighting a record and pressing the DELETE key.  You can "hot"
  264. execute a job by highlighting the existing record and pressing the F2 key.
  265. You can "quit" Hot Operator by pressing the ESCAPE key.
  266.  
  267. Note that job records scheduled to run once a day will ONLY run once a
  268. day -- EVEN if you later edit the schedule time!
  269.  
  270. The reason is that Hot Operator keeps track of the last time and day a
  271. job executed.  If it senses a job has already executed, it will not
  272. reschedule the job (except for interval jobs).
  273.  
  274. If you need a job scheduled to run more than once a day and you cannot
  275. use interval scheduling, you must create more than one job record --
  276. each job record can reference the same production job.
  277.  
  278.  
  279. JOB RECORDS
  280.  
  281. A Job record contains 16 fields.  They are:
  282.  
  283. Job:            A six character Job identifier.  This field controls the
  284.                 sort sequence in the scrolling picklist.  It is the first
  285.                 field that appears in the scrolling picklist.  Since HOT
  286.                 OPERATOR checks the jobs sequentially, you can use this
  287.                 field to fine-tune the sequence of job execution.
  288.  
  289. Desc:           A short job description.  This field also appears in the
  290.                 scrolling picklist.
  291.  
  292. DOS COMMAND:    The command to be issued at the scheduled time.  This can
  293.                 be any command you can issue at a DOS prompt.  For example,
  294.  
  295.                         DIR B:*.* /p    or
  296.                         C:\WORK\POSTING         or
  297.                         D:\LOTUS\LOTUS
  298.                         COMMAND /C DOALL.BAT
  299.  
  300.                 Most of the time, you'll probably create batch commands
  301.                 to start your jobs.  If you have problems running batch
  302.                 files, try the last format shown above:
  303.                 "COMMAND /C FILENAME.BAT".
  304.  
  305.                 If your job needs more than a minimum of conventional RAM,
  306.                 you should use either Hot Operator's built-in memory
  307.                 swapping capability or a third-party software memory
  308.                 swapping device (discussed later).
  309.  
  310.                 If you receive a "RUN ERROR", this is because you have
  311.                 insufficient conventional RAM for job swapping.  You
  312.                 must have at least 510,000 bytes of conventional RAM
  313.                 available before you start Hot Operator -- even if
  314.                 you're using memory swapping.
  315.  
  316. SMTWTFS:        These are seven different fields.  They correspond with the
  317.                 seven days of the week.  Place an "X" or a space in these
  318.                 fields.  Use an "X" if you which the job to run on that
  319.                 day; use a space to exclude the job from running that day.
  320.  
  321. TodoTime:       What time do you want the job to run?  Use a military 24:00
  322.                 clock, ie: 11:00 pm = 23:00.
  323.  
  324. Interval:       How often should the job run?  How many minutes between
  325.                 runs?  You can use this in combination with the TodoTime
  326.                 field -- for example, nothing will happen until the
  327.                 TodoTime, at which point the job will be scheduled to run
  328.                 every "Interval" minutes.
  329.  
  330. Environ Var:    Do you want to check for successful completion?  If so, add
  331.                 a DOS statement to the end of your job that issues a SET to
  332.                 this environment variable.  For example,
  333.  
  334.                         SET RANOKAY=T
  335.  
  336.                 Set this variable to T for success, or anything else for
  337.                 failure.  Enter this variable name in the Environment
  338.                 Variable field.  Hot Operator checks whether or not this
  339.                 variable is set to T.  If not, Hot Operator reschedules the
  340.                 job to run again in a few minutes.
  341.  
  342. File Name:      This can be used instead of "Environ Var" to check for
  343.                 successful completion.  If you are using a memory swapping
  344.                 device, it's possible that the environments are also swapped.
  345.                 If this happens, it's very difficult to pass environment
  346.                 variable information.  If you enter a valid DOS file name
  347.                 in this field, Hot Operator will check for the existence
  348.                 of this file.  If the file is not found, Hot Operator will
  349.                 reschedule the job to try again.
  350.  
  351. Memory Swap:    Hot Operator can do its own memory swapping.  Set this field
  352.                 to "Y" and Hot Operator will swap itself out of conventional
  353.                 RAM to EMS, XMS, or a temporary disk file.  It then issues
  354.                 the "DOS COMMAND" field.  After the DOS COMMAND completes,
  355.                 Hot Operator loads itself back in and resumes.
  356.  
  357.                 The good part about this is that memory swapping allows the
  358.                 the maximum available conventional RAM for your DOS COMMAND.
  359.  
  360.                 There are two "gotchas" -- first, memory swapping is a little
  361.                 slow.  Therefore, if your command can run in a minimum of RAM,
  362.                 it's faster to leave this set to "N".  The second "gotcha" is
  363.                 that Hot Operator's memory swapping may simply not work in
  364.                 your machine configuration.  Memory managment is a complex
  365.                 and "non-standard" animal -- if your unique machine
  366.                 configuration and memory management is such that Hot
  367.                 Operator fails when it tries to memory swap, you may need
  368.                 to use a more flexible and tunable third party memory swapper.
  369.  
  370.  
  371. MEMORY SWAPPING
  372.  
  373. (NOTE: This section assumes you are NOT using Hot Operator's built-in memory
  374. swapping capability)
  375.  
  376. When Hot Operator executes a job, it "shells" to DOS and issues the
  377. command.  When Hot Operator "shells" to DOS, it leaves a copy of itself in
  378. conventional RAM.  This means you'll usually have much less than 640K in
  379. which to run your production jobs.  In fact, all you'll normally be able to
  380. do are some simple DOS commands.
  381.  
  382. Because of this, Hot Operator supports and encourages the use of
  383. software memory swapping devices.  These are third party products; you
  384. can use the product that works best with your configuration.
  385.  
  386. Two popular memory swapping products are Dr. Switch by Black and White
  387. International and SwapDos by Innovative Data Concepts.  SwapDos is a
  388. shareware product.  Both allow memory swapping to various places (expanded
  389. memory, extended memory, or even hard disk space)
  390.  
  391. Here are examples of both products:
  392.  
  393.  
  394. USING DR. SWITCH
  395.  
  396. Install Dr. Switch and make sure a copy of DRSWITCH.EXE is accessible from
  397. the Hot Operator subdirectory.  To memory swap using Dr. Switch, enter the
  398. DOS COMMAND in the Hot Operator record like this:
  399.  
  400.                 DRSWITCH xyz
  401.  
  402. This command will use Dr. Switch to swap Hot Operator out of conventional
  403. RAM.  It then executes the job "xyz".  When "xyz" is finished, Dr. Switch
  404. swaps Hot Operator back into conventional RAM.  This frees up the maximum
  405. available conventional RAM.
  406.  
  407. You can use Dr. Switch to execute .EXE and .COM files; you can also execute
  408. batch files.  You don't need to use any type of EXIT command at the end of
  409. your job; ordinary job termination returns control to Hot Operator.
  410.  
  411.  
  412. USING SWAPDOS
  413.  
  414. SwapDos is slightly more flexible than Dr. Switch.  SwapDos will let you
  415. set "marks" in memory; you can then swap everything after a certain mark.
  416. This lets you do things like temporarily removing unneeded TSR's.
  417.  
  418. You can also use SwapDos without marks.  To do this, enter this command in
  419. the DOS COMMAND field:
  420.  
  421.                         SWAPDOS xyz
  422.  
  423. This swaps Hot Operator out of conventional ram and then executes the
  424. program "xyz".
  425.  
  426.  
  427.  
  428. SECURITY MODE
  429.  
  430. Some sites need to "protect" the job definitions; they don't want anyone
  431. editing the job definitions other than approved people.
  432.  
  433. To lock Hot Operator out of edit mode, just begin Hot Operator with any
  434. dummy parameter.  For example:
  435.  
  436.                 HOTOP X
  437.  
  438. This will ignore all edit, insert, or delete requests.  The job scheduling
  439. will still occur, and users can still "hot" execute jobs by highlighting
  440. them and pressing ENTER.
  441.  
  442.  
  443. JOBLOG
  444.  
  445. Hot Operator keeps a "log" of commands and the times they are issued.  This
  446. log is created automatically.
  447.  
  448. The log name is "JOBLOG.TXT".  It will be found on the Hot Operator
  449. subdirectory.  It contains commands issued both at scheduled times and
  450. times issued through the F2 manual override.
  451.  
  452. This log will continue to grow as commands get issued.  You may want to
  453. create a scheduled job that deletes this log once a week or so.
  454.  
  455.  
  456.  
  457. ADDRESSES:
  458.  
  459. For more information on Dr. Switch:
  460.  
  461.         Black and White International
  462.         P. O. Box 1040
  463.         Planetarium Station
  464.         New York, N.Y.  10024-0541
  465.         phone: (212) 787-6633
  466.  
  467.  
  468. For more information on SwapDos:
  469.  
  470.         Innovative Data Concepts
  471.         1657 The Fairways
  472.         Suite 101
  473.         Jenkintown, PA 19046
  474.         voice: (215)443-9705
  475.         fax:   (215)443-9753
  476.         Compuserve: 75300,564
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.